import { NgModule } from '@angular/core';
import { SharedModule } from '@shared/shared.module';
import { AgentRoutingModule } from './agent-routing.module';
import { AgentListComponent } from './agent-list/agent-list.component';
import { AgentLevelListComponent } from './agent-level-list/agent-level-list.component';
import { AgentLevelEditComponent } from './agent-level-list/agent-level-edit/agent-level-edit.component';
import { AgentDetailComponent } from './agent-list/agent-detail/agent-detail.component';
import { AgentChildComponent } from './agent-list/agent-child/agent-child.component';
import { AgentDirectorComponent } from './director/director.component';
import { AgentLevelRelateComponent } from './agent-level-relate/agent-level-relate.component';
import { AgentLevelChangeRecordComponent } from './agent-level-change-record/agent-level-change-record.component';
import { AgentLevelApplicationTabComponent } from './level-application-tab/level-application-tab.component';
import { LevelApplicationListComponent } from './level-application-tab/level-application-list/level-application-list.component';
import { AgentLevelChangeRecordService } from '@core/routes-services/agent-level-change-record.service';
import { LevelApplicationService } from '@core/routes-services/level-application.service';
import { AgentAreaComponent } from './agent-area/agent-area.component';
import { AgentUpdateLevelComponent } from './update-level/update-level.component';
import { AgentFinanceComponent } from './agent-finance/agent-finance.component';

const COMPONENTS = [
  AgentListComponent,
  AgentLevelListComponent,
  AgentDirectorComponent,
  AgentDetailComponent,
  AgentLevelChangeRecordComponent,
  AgentLevelApplicationTabComponent];
const COMPONENTS_NOROUNT = [
  AgentChildComponent,
  AgentLevelEditComponent,
  AgentLevelRelateComponent,
  LevelApplicationListComponent,
  AgentAreaComponent,
  AgentFinanceComponent,
  AgentUpdateLevelComponent];

@NgModule({
  imports: [
    SharedModule,
    AgentRoutingModule
  ],
  declarations: [
    ...COMPONENTS,
    ...COMPONENTS_NOROUNT,
  ],
  entryComponents: COMPONENTS_NOROUNT,
  providers:[
    AgentLevelChangeRecordService,
    LevelApplicationService
  ]
})
export class AgentModule { }
